function [eff_cos,eff_sb,eff_at] = question_1(x,y,D,t)
%问题一程序实现


%已知参数
eff_ref=0.92; %镜面反射率
dni=DNI(D,t); %法向直接辐射辐照度
alpha_s=alp_s(D,t);%太阳高度角
gama_s=ga_s(D,t);%太阳方位角

z=ones(length(x),1)*4;%初始化所有镜子的高度
mirror_loc=[x y z];%保存所有镜子的xyz坐标
z0=8;%吸收塔高度

%大气透射率
for i=1:length(x)
    d_hr(i)=sqrt(x(i)^2+y(i)^2);%镜面中心到集热器中心的距离
    eff_at(i)=0.99321-0.0001176*d_hr(i)+1.97*10^-8*d_hr(i)^2;%计算大气透射率
end


%余弦效率
for i=1:length(x)
    cos_2_tha(i)=(-x(i)*cos(alpha_s)*sin(gama_s)-y(i)*cos(alpha_s)*cos(gama_s)+(z0-z(i))*sin(alpha_s))/((x(i)^2+y(i)^2+(z0-z(i))^2)^0.5);
    cos_tha(i)=((cos_2_tha(i)+1)/2)^0.5;%二倍角公式
    eff_cos(i)=cos_tha(i);
end


%阴影效率
for i=1:length(x)
    for j=1:length(x)
       d=sqrt((x(i)-x(j)^2+(y(i)-y(j))^2)^2);
       if i==j
            s(i,j)=0;
       else
            if d<200
            s(i,j)=shadow(x(i),y(i),x(j),y(j),D,t,x,y)/36;
            else
            s(i,j)=0;
            end
       end
    end
    eff_sb(i)=sum(s(i,:));
end





%定日镜光学效率
%eff_mir=eff_sb*eff_cos*eff_at*eff_trunc*eff_ref;

eff_cos=0;
eff_sb=0;
eff_at=mean(eff_at);%大气透射率
eff_cos=mean(eff_cos);%余弦效率
eff_sb=1-mean(eff_sb);%遮挡效率

end

